#pragma once
#include <ptr_container/ptr_list.hpp>
namespace Core
{
	class WayPoint;
	namespace Util
	{
		
		using namespace std;

		class AStarBase
		{
		public:
			AStarBase(void);
		public:
			virtual ~AStarBase(void);
		public:
			virtual void GetPath(boost::ptr_list<WayPoint>& outPath) = 0;
		public:
			virtual void Run(void) = 0;
		public:
			virtual void SetBailoutCap(long inMaxRevolutions);
		public:
			long mMaxRevolutions;
		};
	}
}